package com.ctshk.rpc.order.season.req;

import com.ctshk.rpc.order.season.dto.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @author  杨林
 * @date  2021/3/24 17:59
 * @version 1.0
 */
@Data
@ApiModel(value="SeasonOrderReq对象", description="填写固定套票订单信息req")

public class SeasonReserveProductReq  implements Serializable {

    @ApiModelProperty(value = "固定套票产品id")
    private Long seasonProductId;

    @ApiModelProperty(value = "打包id 动态打包类型使用这个字段，关联t_season_dynamic_product_package表)")
    private Long packageId;

    @ApiModelProperty(value = "订单id，关联t_season_order表)")
    private Long orderId;

    @ApiModelProperty(value = "产品类型(1 固定套票 2 动态打包)")
    private Integer productType;

    @ApiModelProperty(value = "出发开始日期 固定套票用到")
    private LocalDate startDate;

    @ApiModelProperty(value = "行程天数")
   // @Pattern(regexp = "^[0-9]*$", message = "行程夜晚数必须是数字")
    private String travelDays;

    @ApiModelProperty(value = "行程夜晚数")
    //@Pattern(regexp = "^[0-9]*$", message = "行程夜晚数必须是数字")
    private Integer travelNights;

    @ApiModelProperty(value = "机票信息")
    List<SeasonProductOrderAirDTO> airList;

    @ApiModelProperty(value = "巴士票信息")
    List<SeasonProductOrderBusDTO> busList;

    @ApiModelProperty(value = "火车票信息")
    List<SeasonProductOrderTrainDTO> trainList;

    @ApiModelProperty(value = "船票信息")
    List<SeasonProductOrderShipDTO> shipList;

    @ApiModelProperty(value = "景点门票信息")
    List<SeasonProductOrderScenicDTO> scenicList;

    @ApiModelProperty(value = "酒店信息")
    List<SeasonProductOrderHotelDTO> hotelList;

    @ApiModelProperty(value = "本地玩乐信息")
    List<SeasonProductOrderLocalFunDTO> localFunList;

    @ApiModelProperty(value = "旅客集合")
    @NotNull(message = "旅客集合不能为空")
    List<TouristTypeReq> touristTypeReqList;







}